Got it — if forcing P-Asserted-Identity didn’t fix it, then Vapi is most likely ignoring it in this bridge setup and falling back to the SIP From header.
What I’d try next is a simple check: capture the raw INVITE (via sngrep) and make sure the From header is set to the actual caller’s number, not the trunk. In Asterisk bridges, that’s usually what Vapi picks up for customer.number.
Also double-check nothing in your trunk/dialplan is rewriting it on the way out, that happens more often than expected.
If you want, I can help you step through this and get it working properly, we can sort it out together privately. @LongBeard